package com.sitia.jd.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sitia.common.annotation.Excel;
import com.sitia.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 返利订单对象 mx_rebate_order
 * 
 * @author sitia
 * @date 2024-03-08
 */
@Data
@Accessors(chain = true)
public class MxRebateOrder  {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 订单表id
     */
    @Excel(name = "订单表id")
    private String mxOrderId;

    /**
     * 订单数组
     */
    @Excel(name = "订单数组")
    private String jdOrders;

    /**
     * 京东订单号(从数组中确认的订单号)
     */
    @Excel(name = "订单号")
    private String orderId;

    /**
     * 下单用户是否为PLUS会员 0：否，1：是
     */
    @Excel(name = "plus订单")
    private String plus;

    /**
     * 商品ID
     */
    @Excel(name = "商品ID")
    private String skuId;

    /**
     * 推客ID
     */
    @Excel(name = "推客ID")
    private String unionId;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String skuName;

    /**
     * 商品数量
     */
    @Excel(name = "商品数量")
    private String skuNum;

    /**
     * 商品已退货数量
     */
    @Excel(name = "商品已退货数量")
    private String skuReturnNum;

    /**
     * 商品售后中数量
     */
    @Excel(name = "商品售后中数量")
    private String skuFrozenNum;

    /**
     * 商品单价
     */
    @Excel(name = "付款金额")
    private String price;

    /**
     * 佣金比例(投放的广告主计划比例)
     */
    @Excel(name = "佣金比例")
    private String commissionRate;

    /**
     * 分成比例（单位：%）
     */
    @Excel(name = "分成比例")
    private String subsideRate;

    /**
     * 补贴比例（单位：%）
     */
    @Excel(name = "补贴比例")
    private String subsidyRate;

    /**
     * 最终分佣比例（单位：%）=分成比例+补贴比例
     */
    @Excel(name = "最终分佣比例", readConverterExp = "单=位：%")
    private String finalRate;

    /**
     * 预估计佣金额：由订单的实付金额拆分至每个商品的预估计佣金额，不包括运费，以及京券、东券、E卡、余额等虚拟资产支付的金额。该字段仅为预估值，实际佣金以actualCosPrice为准进行计算
     */
    @Excel(name = "预估计佣金额")
    private String estimateCosPrice;

    /**
     * 推客的预估佣金（预估计佣金额*佣金比例*最终比例），如订单完成前发生退款，此金额也会更新。
     */
    @Excel(name = "预估佣金")
    private String estimateFee;

    /**
     * 实际计算佣金的金额。订单完成后，会将误扣除的运费券金额更正。如订单完成后发生退款，此金额会更新。
     */
    @Excel(name = "实际计佣金额")
    private String actualCosPrice;

    /**
     * 推客分得的实际佣金（实际计佣金额*佣金比例*最终比例）。如订单完成后发生退款，此金额会更新。
     */
    @Excel(name = "实际佣金")
    private String actualFee;

    /**
     * sku维度的有效码
     */
    @Excel(name = "sku维度的有效码")
    private String validCode;

    /**
     * 下单时间,格式yyyy-MM-dd HH:mm:ss完成时间（购买用户确认收货时间）,格式yyyy-MM-dd HH:mm:ss
     */
    @Excel(name = "下单时间", dateFormat="yyyy/MM/dd HH:mm:ss")
    private String orderTime;

    /**
     * 完成时间（购买用户确认收货时间）,格式yyyy-MM-dd HH:mm:ss
     */
    @Excel(name = "完成时间",dateFormat="yyyy/MM/dd HH:mm:ss")
    private String finishTime;

    /**
     * 更新时间,格式yyyy-MM-dd HH:mm:ss
     */
    @Excel(name = "更新时间,格式yyyy-MM-dd HH:mm:ss")
    private String modifyTime;

    /**
     * 发货状态（10：待发货，20：已发货）
     */
    @Excel(name = "发货状态", readConverterExp = "1=0：待发货，20：已发货")
    private String expressStatus;

    /**
     * 联盟商品ID
     */
    @Excel(name = "联盟商品ID")
    private String itemId;

    /**
     * 该订单归属人
     */
    @Excel(name = "该订单归属人")
    private String ownerUserId;

    /**
     * 该订单归属人姓名
     */
    @Excel(name = "该订单归属人姓名")
    private String ownerUserName;

    /**
     * 订单京粉所属人
     */
    @Excel(name = "订单京粉所属人")
    private String jingfenBy;

    /**
     * 订单京粉所属人姓名
     */
    @Excel(name = "订单京粉所属人姓名")
    private String jingfenName;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 佣金
     */
    @Excel(name = "佣金")
    private String commission;

    /**
     * 扩展字段1
     */
    @Excel(name = "订单状态")
    private String ext1;

    /**
     * 扩展字段2
     */
    @Excel(name = "扩展字段2")
    private String ext2;

    /**
     * 免息券抢券日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "免息券抢券日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date presetTime;

    /**
     * 有无返利 0=无,1=有
     */
    private String isRebate;
    /** 搜索值 */
    @JsonIgnore
    private String searchValue;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date[] presetTimes;
    private Date presetTimeStar;
    private Date presetTimeEnd;

    /**
     * 是否查询全部人
     */
    private String all;
}